Beta#547
Merged
Merged
Conversation
Ensure the background Event Flow System instance is updated when flows are saved or deleted via the editor. - In `EventFlowEditor.js`, added logic to call `window.parent.eventFlowSystem.reloadFlows()` after a flow is successfully saved or deleted. - Added a `reloadFlows` method to `EventFlowSystem.js` to facilitate forcing a database reload. - This synchronization fixes the issue where the background system was not immediately aware of changes made in the standalone editor window. - Includes minor updates to the Event Flow Editor description and links in `actions/index.html` and `background.html`. - Adds script to apply dark mode immediately in `docs/commands.html` to prevent flash of unstyled content. [auto-enhanced]
Refines the content extraction logic in `sources/zoom.js` to correctly handle various message formats and elements, including images used as emotes. - Removed an obsolete version of the `getAllContentNodes` function. - Updated the primary `getAllContentNodes` function to simplify parsing. - Removed specific handling logic for `_rtfEditor_` elements, relying on generic node traversal for more robust content extraction. This change addresses issues where certain elements or formats within Zoom chat messages were not being captured correctly. [auto-enhanced]
- Implements actual sound playback for drum pad hits using Web Audio API synthesizers. - Adds a control panel with a volume slider and mute button for master audio control. - Replaces placeholder or missing sound functionality in the rhythm game. [auto-enhanced]
- Prevent text selection via CSS (`user-select: none`) for a cleaner game experience. - Adjust the vertical position of the instructions element. - Implement a timeout to automatically fade out instructions after 30 seconds, reducing visual clutter during gameplay. [auto-enhanced]
fix(chat): Use plain text for message comparisons Implement HTML stripping for incoming chat messages, preserving emoji alt text. Cache the resulting plain text in a new `textContent` property on the message object. Update message processing logic across `EventFlowSystem` and `background.js` to use `message.textContent` (or the existing `textonly` field) for operations like: - Event Flow trigger evaluation (e.g., `messageContains`, `startsWith`, `equals`) - Background message filtering and relay checks - Bot command matching - Highlight word/event checks - Donation message detection This change ensures that message content comparisons are performed reliably and securely against plain text, mitigating issues where HTML could interfere with matching logic. The commit includes an analysis document (`chatmessage_includes_analysis.md`) detailing where raw HTML checks were previously used. Minor UI adjustments made to the actions test panel in `actions/index.html`. ``` [auto-enhanced]
feat: Add Battle Royale enhancements and points management UI
- Add significant UI/UX enhancements to the Battle Royale game mode (`battle.html`).
- Implement score/killstreak display logic and floating text overlays.
- Update styling with a pixel-art font, dark background, and enhanced UI colors.
- Introduce dedicated sound control panel and particles canvas.
- Improve arrow rendering visuals with directional drawing.
- Implement interactive points management prompts directly in the browser extension popup (`popup.js`).
- Allows stream managers to add, subtract, or set points for users via simple prompts.
- Refactor YouTube source message handling (`sources/youtube.js`).
- Consolidate logic for processing various membership events (new members, renewals, upgrades, gift redemptions).
- Improve parsing of membership tier and duration information from chat elements.
- Remove outdated `chatmessage_includes_analysis.md` documentation file.
- Bump extension version to 3.23.2 in `manifest.json`.
```
[auto-enhanced]
Refactor TikTok gift processing logic to correctly calculate total coin value based on donation quantity and unit value. Includes fallback logic to find gift values in the DOM and add to mapping. Updates secondary observer target selector in `start2` function to accommodate potential changes in TikTok's live stream event UI, aiming to capture more event types or handle UI variations. [auto-enhanced]
Simplifies and improves how TikTok gift messages are parsed from chat. - Removes `validateTikTokDonationMessage` and `parseDonationMessage` helper functions. - Uses a direct regex match to extract image URL and quantity from the chat message string. - Streamlines the lookup of gift data (coins, name) using the extracted gift ID. - Adds a basic `try...catch` block around the parsing logic for resilience. - Continues work on enhancing TikTok gift handling on the `beta` branch. [auto-enhanced]
Refactors the `initDatabase` function to correctly detect the current IndexedDB version and handle potential upgrades to version 4. - Adds `userid` indexes (`user_id_timestamp`, `user_id_type_timestamp`) to the chat history store during the v4 database upgrade process. - Includes `userid` in the search filtering logic for chat history. - Adds a `UserID` column to the TSV export format for chat history. These changes provide better support for filtering and exporting history based on unique user IDs, enabling features that rely on this data point. [auto-enhanced]
Adds a feature to replay historical chat messages stored in the database. Messages are fetched by timestamp range and simulated as live events, sent to connected overlays. - Introduces a dedicated UI page (replaymessages.html, replaymessages.js) for controlling playback. - Adds background script logic (background.js) to handle fetching, scheduling, and sending replayed messages. - Implements playback controls (start, pause, resume, stop) and speed adjustment. - Adds session management for concurrent or controlled playback. - Includes a link to the replay page in the main extension popup. - Bumps manifest version. [auto-enhanced]
fix(replay): Correct message timing and add playback controls Corrects the calculation of message delays in the replay feature to be relative to the requested start timestamp, resolving an issue where timing was based on the first message found. Adds key playback controls: - Implement pause and resume functionality for active replay sessions. - Introduce a playback timer and progress bar in the replay UI (`replaymessages.html`) for better user feedback on replay progress. Includes additional stability improvements: - Check if the Social Stream extension is enabled before starting replay, providing an error message if not. - Verify database initialization before querying messages for replay. ``` [auto-enhanced]
Update browser version strings in `settings/config_0.json`. - Updates the default browser version in `fullVersionList` and `uaFullVersion` fields from `137.0.7151.56` to `137.0.7151.69`. - Ensures the simulated user agent reflects a more current browser version. [auto-enhanced]
Adds a new section for the 'parti' platform to the main configuration file (`settings/config_0.json`). This includes settings for user agent and window size required for potential future integration or browser setup for this platform. [auto-enhanced]
Configure sign-in parameters for the Parti platform within `settings/config_0.json`. - Introduces a nested `signin` object to group sign-in related settings. - Specifies the sign-in `url` required for the authentication flow. - Moves `userAgent` under the `signin` object and updates its value to a more specific string. This structured configuration provides necessary details for handling the platform's login process. [auto-enhanced]
Update the configured sign-in URL for the Parti platform integration to the correct value. Refines the `parti.signin.url` setting in `settings/config_0.json`. This continues work on the Parti platform integration feature currently in development on the `beta` branch. [auto-enhanced]
Updates the Chrome browser version string used for Twitch settings in `settings/config_0.json` from 137 to 138. This includes updates to: - twitch.userAgent - twitch.mockUserAgentData - twitch.signin.userAgent This is a routine update to keep configurations aligned with current browser versions, consistent with recent config maintenance. [auto-enhanced]
- Refactor `chrome.runtime.sendMessage` shim in `popup.js` to use asynchronous `ipcRenderer.send` with promises, timeouts, and callback ID mapping for better responsiveness in the Electron environment. - Update `background.js` IPC handler to pass `callbackId` back with responses. - Introduce `isLoadingPoll` flag in `popup.js` and check in the `update()` function to prevent background state updates from overriding UI settings while loading a saved poll. - Add Electron shim and local message handling (`postMessage`) to `replaymessages.js` to enable replay functionality with limited IPC support. - Increment manifest version to `3.24.2`. [auto-enhanced]
Implement new WebSocket API actions in `background.js` to control the poll feature. This allows external applications or tools to manage polls programmatically. Added actions include: - `resetpoll`: Resets the current poll, clearing votes. - `closepoll`: Closes the current poll, preventing new votes. - `loadpoll`: Loads a saved poll preset by its ID. - `setpollsettings`: Updates various settings of the current poll. - `getpollpresets`: Retrieves a list of saved poll presets. - `createpoll`: Creates a new poll with specified initial settings. Updated `api.md` to document the new poll API section, explaining each action and providing usage examples. Added corresponding UI elements and JavaScript logic in `sampleapi.html` to demonstrate how to call these new poll API actions, including loading presets and creating custom polls. Bumped extension version in `manifest.json` to reflect the added feature. [auto-enhanced]
Add `browser-test.html` to provide a utility for testing browser legitimacy against common automation detection methods. The page checks various browser properties and calculates a score. Update `settings/config_0.json` with refined browser settings, specifically for Twitch integration. This includes: - Adjusting user agent versions. - Adding the `enhancedHeaders` flag. - Setting a specific window size for the Twitch sign-in browser instance. [auto-enhanced]
- Adds `mockUserAgentData` to the `twitch` configuration section in `config_mac_0.json`. - This provides detailed client hint data to better simulate a browser environment for Twitch interactions. - Adds specific `size` settings for the `signin` and `wss` view configurations within `twitch`. - These settings ensure consistent window dimensions for Twitch-related pages. - Updates the main `userAgent` string in the `twitch` section. These configuration updates are part of ongoing work to improve Twitch integration and browser simulation accuracy, continuing from previous commits related to browser features and Twitch configuration. [auto-enhanced]
Adds a system to buffer incoming chat messages before displaying them. This prevents message floods from overwhelming the UI, particularly during bursts of messages from platforms like Twitch or YouTube. - Messages are processed from the buffer with an adaptive delay, calculated based on the buffer size and estimated arrival rates, including platform-specific patterns. - Enabled via the new `&buffer` URL parameter or a checkbox in `popup.html`. - Allows customization of timing parameters using `&bufferdelay`, `&buffermin`, and `&buffermax`. - Modifies the existing `&smooth` parameter to specifically control smooth scrolling, differentiating it from the new message buffering functionality. [auto-enhanced]
Adds a new entry to the `sites` configuration in `settings/config_0.json`. This entry provides the sign-in URL (`https://www.zoom.us/signin`) and a default window size (1280x720) for the Zoom platform. [auto-enhanced]
Introduces the `showsourcename` parameter and toggle in the popup to display the source platform name (e.g., Twitch, YouTube) as text next to the source icon for chat messages. - Implement display logic and CSS styling in `dock.html`. - Add a toggle switch for the new parameter in `popup.html`. - Update version in `manifest.json`. - Add support for `*.zoom.com` domain in `manifest.json`. - Clean up duplicated parameter in `baretempate.html`. [auto-enhanced]
Refine YouTube integration within youtube.html: - Reduce stream stats polling frequency based on settings (showviewercount, hypemode) to conserve API quota. Poll every 30s when active, 2m otherwise. - Add checks when processing emoji data to skip entries missing essential fields, improving robustness. - Enhance timeout tracking in setTrackedTimeout to remove handles upon completion, preventing potential resource leaks. [auto-enhanced]
Previous attempts to extract the content of replied-to messages in Twitch chat were inconsistent due to variations in Twitch's DOM structure. This change adds several alternative methods for locating and parsing the replied message element within the chat line container, including checks for specific class names and an SVG path identifier, to improve the reliability of reply message detection. [auto-enhanced]
Include the originating channel's name and avatar/image in the data payload for messages and events received from integrated sources (Kick, Twitch, YouTube). This enhancement provides necessary data to display the source channel's branding or identification alongside messages in the client UI. Specific changes: - Kick: Fetch channel avatar using `getKickAvatarImage` and the known `kickUsername`. Removed redundant parsing of channel name from `window.location.pathname`. - Twitch: Utilize existing `channelName` and `brandedImageURL` data which represents the channel's branding image. - YouTube: Introduce a new API call (`api.socialstream.ninja/youtube/channel_info`) to fetch the channel name and thumbnail based on the active video ID. [auto-enhanced]
- Add `fromChannelName` trigger condition to Event Flow editor and processing logic.
- Allow matching event messages based on the source channel name or host username.
- Enhance `sources/kick.js` to extract and include:
- Membership status from badges.
- Moderator status from badges.
- Populate the `sourceName` field with the channel's username.
- Implement persistent localStorage caching for user profile images to reduce load times and API requests.
[auto-enhanced]
The logic in `popup.js` for unchecking sibling elements with the same parameter prefix was applying universally. This caused unintended behavior for parameters without an explicit value assignment (e.g., 'param') when handling UI element states. Add a check to ensure this exclusive handling only applies when the parameter value contains an equals sign (`=`), correctly restricting it to value-based settings (e.g., 'scale=2', 'color=red') in the popup UI. - Increment extension version in `manifest.json` to 3.25.1. - Remove unused console log in `sources/kick.js`. [auto-enhanced]
Remove conflicting max-width CSS rule from `.no-avatar .hl-name` in `featured.html` to correct the layout and positioning of the user name when an avatar is not displayed. [auto-enhanced]
- Refactor `copyToClipboard` function in `popup.js` to reliably find the raw URL by using `.closest('.link')` and searching within the found container. This makes the copy functionality more robust to minor DOM structure variations.
- Update settings handling for fields like `eventsSources`, `ttssources`, and `relaytargets` in `popup.js`. Empty values are no longer loaded or saved for these specific settings, ensuring they correctly default to an "all" or "none" state when not explicitly configured.
- Change the default option text in several source selection dropdowns (e.g., for events, TTS) from "All sources" to "Select Sources" for better clarity.
- Remove extraneous comments in `events.html`.
- Add a default value fallback to `getTranslation` in `TTSManager.testTTS` if translation is missing.
[auto-enhanced]
Adds support for the `nocolon` URL parameter in `dock.html`. When the `?nocolon` parameter is present, the colon character typically displayed after the user's name in chat messages is hidden. This provides users with a customization option for the chat display format. [auto-enhanced]
steveseguin
force-pushed
the
beta
branch
3 times, most recently
from
June 25, 2025 03:57
16a6939 to
f632048
Compare
- Add detailed Facebook user agent and sign-in configurations to default and macOS settings files (settings/config_*.json). - Implement client-side leaderboard data persistence using Local Storage in leaderboard.html to retain state across sessions. - Introduce new visual themes for the leaderboard overlay: modern, classic, gaming, and gradient (leaderboard.html). - Simplify the leaderboard configuration options available in popup.html by removing various display and behavior toggles. - Update 'Rank By' options in popup.html. - Refine update interval handling in leaderboard.html (0 seconds disables). [auto-enhanced]
- Extend Discord integration to support https://discord.gg/* URLs by updating manifest permissions and content script matches. This allows the extension to function on Discord invite pages. - Modify the facebook configuration in settings/config_0.json. Removed specific URL and size settings and added mockUserAgentData. [auto-enhanced]
Add user agent and mock client hint data settings for TikTok integration. - Includes detailed browser user agent and client hint data configuration. - Adds `enhancedHeaders` flag within the mock data settings. - Reorganizes and moves sign-in window size configuration under the `signin` key. These settings likely enhance compatibility or enable reliable sign-in and interaction with TikTok services by providing necessary browser emulation options. Changes are in `settings/config_0.json`. [auto-enhanced]
Corrects the structure of the tiktok configuration block in settings/config_0.json. A misplaced closing brace caused the tiktok block to be invalid, preventing proper parsing of settings. This fix ensures the user agent and mock data configuration for TikTok are correctly defined. [auto-enhanced]
Remove trailing comma from the tiktok configuration block in settings/config_0.json to prevent JSON parsing errors. [auto-enhanced]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.